#include "extradialog.h"
#include "ui_extradialog.h"
#include <QPixmap>
#include <QPainter>
#include <QMouseEvent>
#include <QSizePolicy>
#include <QMessageBox>

ExtraDialog::ExtraDialog(int width,int height,QWidget *parent) :
    QDialog(parent),
    ui(new Ui::ExtraDialog)
{
    ui->setupUi(this);
    setWindowTitle("Forme personalisée");

    //on accroche une planche au cadre avec la taille demandé
    planche = new Planche(width,height,ui->frame);
    //on fixe la fenetre a une taille legerement superieur a la planche
    setFixedSize(QSize(width+50,height+80));

}
/*
 *  Fonction retournant une copie du polygon crée
 */
QPolygon *ExtraDialog::GetPolygon()
{
    return new QPolygon(*(planche->polygon));
}
/*
 *  Fonction retournant une copie du pixmap crée
 */
QPixmap* ExtraDialog::GetCopyOfPixmap()
{
    return new QPixmap(*(planche->pixmap));
}
/*
 *  Destructeur
 */
ExtraDialog::~ExtraDialog()
{
    delete ui;
    delete(planche);
}


void ExtraDialog::closeEvent(QCloseEvent *event)
{
    if(planche->polygon->count()<3)
    {
        if(QMessageBox::information( this, "Forme non complète",
                                     "Votre forme n'est pas complète , voulez vous vraiment quitter ?",
                                     QMessageBox::Yes,
                                     QMessageBox::No)==QMessageBox::No)
        {
            event->ignore();
        }
    }
}

/*
 *  Fin
 */
void ExtraDialog::on_terminerButton_clicked()
{

    if(planche->polygon->count()<3)
    {
        QMessageBox::information( this, "Forme non complète",
                                     "Votre forme doit contenir au moin 3 sommets",
                                     QMessageBox::Ok);
    }
    else
    {
        close();
    }
}
